package com.pureut.storage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pureut.storage.domain.CheckManagementMaterialDetail;
import com.pureut.storage.dto.CheckListDetailPdaDto;
import com.pureut.storage.dto.CheckManagmentMaterialDto;
import com.sale.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * TODO
 *
 * @Description 盘点单物料明细 Mapper
 * @Author 18741
 * @Date 2023/8/8 11:39
 **/

@Mapper
public interface CheckManagementMaterialDetailMapper extends BaseMapperPlus<CheckManagementMaterialDetailMapper,CheckManagementMaterialDetail,CheckManagementMaterialDetail> {

    /**
     * 盘点查询物料明细列表
     */
    List<CheckManagmentMaterialDto> selectManagmentMaterial(String docNum);

    /**
     * 盘点查询物料明细列表(分页)
     */
    Page<CheckManagmentMaterialDto> selectManagmentMaterialPage(@Param("page")Page<CheckManagmentMaterialDto> page,@Param("docNum") String docNum);


    /**
     * 盘点物料明细列表
     * @param checkDoc
     * @return
     */
    List<CheckManagmentMaterialDto> reviceMaterialDetail(String checkDoc);

    /**
     * 查出明细盘点Pda列表
     * @param checkDoc
     * @param materialCode
     * @return
     */
    List<CheckListDetailPdaDto> getPdaMaterialDetailList(@Param("checkDoc") String checkDoc,@Param("materialCode")  String materialCode);

    /**
     * 根据物料号码查询盘点物料明细
     * @param materialNumber
     * @return
     */
    List<CheckManagmentMaterialDto> getCheckManagmentMaterialInfo(String materialNumber);

    /**
     * 盘盈数量
     * @param checkDoc
     * @param materialCode
     * @return
     */
    String selectLucid(@Param("checkDoc") String checkDoc,@Param("materialCode") String materialCode);

    /**
     * 盘亏数量
     * @param checkDoc
     * @param materialCode
     * @return
     */
    String selectLoss(@Param("checkDoc")String checkDoc,@Param("materialCode") String materialCode);
}
